home *** CD-ROM | disk | FTP | other *** search
/ BBS Toolkit / BBS Toolkit.iso / doors_1 / mba321.zip / MBA320.TXT < prev    next >
Text File  |  1992-04-03  |  14KB  |  325 lines

  1.                      MBA (Message Base Accountant)
  2.                      Version 3.20    Dated 3-25-92
  3.                                    
  4.               Copyright (C) 1990-1992 by Michael W. Cocke
  5.                          All Rights Reserved.
  6.                                    
  7.                         The Hacker Central BBS
  8.                   201-334-2555 (public node, 12/2400)
  9.                     3 nodes, 1200 - 38.4k (HST/v32)
  10.  
  11.  
  12. SUMMARY.
  13.  
  14. MBA is a sysop utility to reward callers with file upload credits for
  15. activities besides the uploading of files.  The most common use is to
  16. give upload credits to callers who are active in the message bases.
  17. MBA can also be used to reward callers who read specific bulletins,
  18. open certain doors, or perform just about any action that is recorded
  19. in the caller log.
  20.  
  21. MBA version 3.20 is the last freeware version of this utility.  The
  22. next anticipated version of MBA should be 4.0, which will be out as a
  23. shareware product with feature and documentation improvements.
  24.  
  25.  
  26. COMPATIBILITY.
  27.  
  28. MBA has been tested and used with PCBoard version 14.5a/E.  (If anyone
  29. is using the /D version and has a problem, please contact me.)
  30.  
  31.  
  32. FILE LIST.
  33.  
  34.      MBA320.EXE     the MBA executable program
  35.      MBA320.TXT     this documentation text file
  36.  
  37.  
  38. BACKGROUND AND USE OF MBA.
  39.  
  40. This program was originally written for use as a 'carrot' to get some
  41. of my callers active in the message system.  The way I designed it to
  42. work focused on rewarding callers for leaving messages.  MBA can also
  43. apply to opening doors, reading bulletins, or just about any other
  44. caller action that leaves a unique text string in the caller log.
  45.  
  46. Every time a caller performs one of these actions specified by the
  47. sysop, MBA will see it as one event.  It's then up to the sysop to
  48. decide how many events will equal one upload credit.
  49.  
  50. I have MBA set to run so that for every five messages left by a caller
  51. (except in the ad conferences), MBA will award one file upload credit.
  52. Here's how I set it up:
  53.  
  54. 1)   I set up an upload/download ratio system based on the number of
  55.      files (not bytes) in PCBSM.
  56.  
  57. 2)   I put MBA in my event before the line that calls PCBSM to adjust
  58.      the security levels.
  59.  
  60.      MBA reads the caller log(s) and maintains an ISAM  database file
  61.      called MSGACT.ISM.  This database contains a cumulative total of
  62.      events performed by each caller, as well as 'credited events' and
  63.      'uncredited events'.  A credited event is one that MBA has
  64.      already figured into the upload credit adjustment.  Uncredited
  65.      events are the few leftover events before there are enough of
  66.      them to equal another upload credit.  If MBA is set to award one
  67.      upload credit for every X events, then there will never be more
  68.      than X-1 uncredited events.
  69.  
  70. 3)   MBA then creates a backup copy of the users file, called
  71.      USERS.MBA.
  72.  
  73. 4)   MBA sequentially scans the users file and searches its data files
  74.      for each user.  For every X uncredited events, MBA increases the
  75.      'total number of files uploaded' figure in the users file by 1.
  76.      MBA then subtracts X from the uncredited events and finally adds
  77.      X to the credited events record for the user.
  78.  
  79. MBA can optionally create an output file, the name and path of which
  80. is configurable.  This report contains all the cumulative numbers for
  81. every registered user except the sysop.  You can choose to use this
  82. report as a bulletin.
  83.      
  84. MBA uses the caller file, so it will correctly 'see' events in any
  85. conference.
  86.  
  87. In order to use MBA properly, you must not accumulate your caller log!
  88. An excerpt from my event.sys file explains this more clearly:
  89.  
  90. CD \PCB\MAIN                            Move to the correct directory.
  91.  
  92. COPY CALLER.OLD+CALLER CALLER.OLD       Append today's caller log to
  93.                                         the end of the history log(s).
  94.  
  95. MBA320                                  Run MBA on today's log(s).
  96.  
  97. DEL CALLER                              Delete the latest caller log
  98.  
  99. CD \PCB                                 Move to the correct directory
  100.  
  101. PCBSM /ADJUST;FILERATIO                 Adjust the security levels by
  102.                                         upload/download activity for
  103.                                         the last 24 hours
  104.  
  105. BOARD                                   Restart the board
  106.  
  107.  
  108. CONFIGURATION FILE.
  109.  
  110. The config file MBA.CFG must be in the same directory as the MBA
  111. program.  It can be created with EDLIN <gag!> or any ASCII text
  112. editor.  The first five lines of MBA.CFG refer to specific processing
  113. parameters.  Lines six through the end refer to the particular actions
  114. (such as leaving messages, reading bulletins, opening doors, etc.)
  115. that the sysop wishes to reward.  Every single instance of one of
  116. those actions is considered an event.  The purpose and format for each
  117. line is explained in the following section.
  118.  
  119. Line 1:   The full drive, path and filename of the caller log file(s).
  120.           NOTE: When running multiple nodes, the trailing number must
  121.           not be included on this line! *** Users of PCBoard versions
  122.           /D or /S and users of PCBoard version /E with only one
  123.           active node - this should contain EXACTLY the path and
  124.           filename of the callers log.
  125.  
  126. Line 2:   The number of nodes MBA is to process.  MBA will add the
  127.           appropriate number (1 through n) to the end of the path and
  128.           filename specified above for the caller log(s). *** Users of
  129.           PCBoard versions /D or /S and users of PCBoard versions /E
  130.           with only 1 active node - this should be set to 1, and line
  131.           1 should contain EXACTLY the path and filename of the
  132.           callers log.
  133.  
  134. Line 3:   The number of events that will be equal to one file upload
  135.           credit.  An event is every instance where a caller performed
  136.           one of the specified actions defined later in the config
  137.           file.  For example, if MBA is being used to give credit for
  138.           any and all messages, then every individual message left
  139.           would be an event.
  140.  
  141. Line 4:   The full drive, path and filename of the users file.
  142.  
  143. Line 5:   The full drive, path and filename of the MBA report file.
  144.           If you do not wish MBA to produce a report, leave this line
  145.           blank.
  146.  
  147. Line(s) 6 up to 106:     'Operator' lines and 'exclude' lines.
  148.  
  149.           An operator line specifies a "credit event".  When MBA sees
  150.           this text in the callers log, it will add 1 to the number of
  151.           "uncredited events".  This is sysop-definable so that MBA
  152.           will now work correctly with PCBTEXT files other than the
  153.           standard English.  You may also choose to apply file upload
  154.           credits for opening a door or reading a bulletin.  An
  155.           operator line must be entered in the following format:
  156.           
  157.                O,Search Text
  158.  
  159.           The O (letter O) and comma are required.  The "search text"
  160.           is what MBA will search for in your caller log.  This line
  161.           should be left-justified.  You may specify up to 50 operator
  162.           lines in your MBA.CFG file, independent of the number of
  163.           exclude lines.
  164.  
  165.           An exclude line is a line that tells MBA *not* to credit the
  166.           found event if the "exclude text" is found on the same line
  167.           of the caller log as the operator text.  This may be used to
  168.           exclude messages left in certain conferences from being
  169.           applied toward upload credits.  This is often used to
  170.           exclude messages left in for sale and BBS ads types of
  171.           conferences from being credited.
  172.           
  173.           An exclude line MUST be entered in the following format:
  174.  
  175.                X,Search Text
  176.  
  177.           The X (letter X) and comma are required.  The "search text"
  178.           is what MBA will search for in your caller log.  This line
  179.           should be left-justified.  You may specify up to 50 exclude
  180.           lines in your MBA.CFG file, independent of the number of
  181.           operator lines.
  182.           
  183.           
  184. NOTES ON TEXT SELECTION FOR OPERATOR AND EXCLUDE LINES.
  185.  
  186. Be aware of the many different variations of the same information that
  187. can be written to your caller log.  For example,
  188.      
  189.           Message Left: I_C-LANG (2) Conference # 20672
  190.           
  191.                and
  192.           
  193.           Message Left: via Qmail (2) I_C-LANG # 20672
  194.  
  195. If you have an exclude line set as "I_C-LANG #", it will be seen as an
  196. exclude ONLY when the message is left via Qmail.  MBA is very literal
  197. about what matches what, and can only do what you tell it, not what
  198. you meant to tell it.
  199.  
  200.  
  201. CONVERSION FROM MBA 2.x OR MBAN 2.x TO MBA 3.20.
  202.  
  203. There is no way to convert your old MSGACT.NDX and .DBF files for use
  204. with MBA 3.x.   I apologize for this, but owing to an unfortunate
  205. accident with my hard drives, I cannot provide this utility.
  206.  
  207. There are several differences you should be aware of when upgrading to
  208. MBA 3.20 from earlier versions:
  209.  
  210. IMPORTANT!  In *no* way should you attempt to run the MBAPACK utility
  211. on the MSGACT.ISM database!   MBA 3.20 now has an integral pack
  212. utility implemented as pass 3.  Attempting to pack MSGACT.ISM with the
  213. pack utility from an earlier version of MBA will have completely
  214. unpredictable and thoroughly unpleasant results.  (Don't say I didn't
  215. warn you.)
  216.  
  217. Since you no longer need the environment variable DBLIB, you may
  218. delete all references to it.
  219.  
  220.  
  221. CONVERSION FROM MBA 3.x TO MBA 3.20.
  222.  
  223. There have been no changes to the MSGACT.ISM file.  Delete
  224. ISAMPACK.EXE and your old MBAxxx.EXE files.  Copy MBA320.EXE onto your
  225. hard disk. Don't forget to update your event.sys file to call
  226. MBA320.EXE or rename MBA320.EXE to whatever your event file is looking
  227. for.
  228.  
  229.  
  230. AUTHOR'S NOTES.
  231.  
  232. MBA is now share compatible with one very important exception, the
  233. MSGACT.ISM database file.   For no known reason, Microsoft *still*
  234. hasn't implemented file locking on the ISAM file type in PDS 7.1.
  235. (It's been four years now, I don't know what they're doing out there).
  236. However, MBA =can= deal with reading the users file while the BBS is
  237. up.
  238.  
  239. Several of you may be aware that this is not the version of MBA that I
  240. had intended to write this summer.  My schedule has gone completely
  241. sour and I don't know whether I'll be able to produce the 'final'
  242. version in that time.  Since I know several of you have been waiting
  243. for a few new features in particular, I have released this version of
  244. MBA as an interim measure.  It's still freeware, and support will
  245. continue to be on an 'as/can' basis.
  246.  
  247.  
  248. RELEASE HISTORY.
  249.  
  250. MBAx2xx   Pre-version 14.5 - needed 2 different MBA programs because
  251.           of the difference in the caller file format.
  252.  
  253. MBA 3.00  Did the switchover to ISAM database from dBase III
  254.           compatible. This was pretty much a complete rewrite, since I
  255.           no longer had the source code to earlier versions.  Cleaned
  256.           up the 'Log Off' detector, incorporated the code.
  257.  
  258. MBA 3.01  Corrected a bug in pass 3 (the ISAM pack).
  259.  
  260. MBA 3.02  Discovered an error message that PCBoard can produce that
  261.           does not start in column 6 of the caller file.  I modified
  262.           the caller log parser to allow for this.
  263.  
  264. MBA 3.10  Caught and fixed a bug in the handling of /S, /D, and one
  265.           active node /E caller log filenames.  Implemented the
  266.           'exclude conference' feature.  (Thanks to Mark Rapp for
  267.           suggesting it.)
  268.  
  269. MBA 3.11  With the recent PCBoard implementation of such "flexible"
  270.           options as the ability to change the format of the lines
  271.           written to the callers log, I have added line 6 to the
  272.           MBA.CFG file, so that you can tell MBA what column the
  273.           caller's name begins in.   What you need to do is this;
  274.  
  275.           Look at your callers log using an ASCII file editor (or any
  276.           type of file browse utility).
  277.  
  278.           Count the number of charactors (including blank spaces) that
  279.           appear in the login record before the caller's name.  That
  280.           number should be entered on line #6 of the MBA.CFG file.
  281.           NOTE: I do not mean the column number that the name starts
  282.           in - I mean the number of columns before that (startcol -
  283.           1).
  284.  
  285. MBA 3.20  I was never really happy with the kludge I perpetrated in
  286.           3.11 as far as locating the user name, so I figured out a
  287.           way to locate it automatically.  Made the log an option,
  288.           since it has the potential to get very large.  Made the
  289.           search strings for credit and exclude sysop definable - just
  290.           for you, Terry!  Fixed the copy to USERS.MBA so it doesn't
  291.           require a shell to DOS, and dropped the ISAMPACK call
  292.           because ISAMPACK doesn't work under DOS 5.0.  (Don't bother
  293.           telling Microsoft, it doesn't do any good.)
  294.  
  295. MBA 3.21  Dr. Door Buster (aka Dr. Dave Klein) did it to me again!  
  296.           Corrected an internal typo I made that will cause problems
  297.           if you're using more than 1 <O>perator line.
  298.  
  299.  
  300.  
  301. LEGAL MUMBO-JUMBO.
  302.  
  303. I accept no responsibility for anything this program does, if it does
  304. anything at all.  (At least I'm honest.)
  305.  
  306. MBA is released as no-fee shareware (freeware).  This means that you
  307. may freely copy this program and distribute it via electronic BBS's,
  308. provided that you do not modify these files in any way.  That includes
  309. adding extra files, deleting any file, or changing any file.
  310.  
  311. PCBoard is copyright, Clark Development Company, Inc.
  312. Qmail is copyright, Sparkware, Inc.
  313. Microsoft is trademark, Microsoft Corp.
  314.  
  315.  
  316. CONTACTING THE AUTHOR
  317.  
  318. That's about it.  If you have any questions, suggestions, or screams
  319. of outrage, you can reach me on The Hacker Central BBS (public node
  320. 201-334-2555) or via the Sysops and Shareware conferences on the ILink
  321. echomail network.
  322.  
  323.                                                   - Michael W. Cocke -
  324.  
  325.